﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Net.Mail;
using System.Net;
using System.Security;
using System.Web.UI;

/// <summary>
/// Summary description for funcoes
/// </summary>
public class funcoes


{
    dbSisInfoDataContext Banco = new dbSisInfoDataContext();

	public funcoes()
	{
		//
		// TODO: Add constructor logic here
		//
	}

    public string EnviarEmail(string EmailDe, string AliasEmailDe, string Senha, string EmailPara, MailAddress[] CC, string Assunto, string Mensagem)
    {
        string resposta = string.Empty;

        MailAddress De = new MailAddress(EmailDe, AliasEmailDe);

        MailAddress Para = new MailAddress(EmailPara);

        MailMessage mailMsg = new MailMessage(De, Para);

        mailMsg.Subject = Assunto;
        mailMsg.Body = Mensagem;
        mailMsg.IsBodyHtml = true;

        foreach (MailAddress mail in CC)
        {
            mailMsg.CC.Add(mail);
        }
       
        NetworkCredential MailCredential = new NetworkCredential();

        MailCredential.Domain = "janynne@univale.br";
        MailCredential.Password = "muito5673662";

        try
        {
            SmtpClient SmtpMail = new SmtpClient("smtp.univale.br", 587);
            SmtpMail.Credentials = MailCredential;
            SmtpMail.Send(mailMsg);

            resposta = "Email enviado com sucesso!";
        }
        catch (System.Exception erro)
        {
            resposta = erro.Message;
        }
        finally
        {
            mailMsg = null;
        }

        // Caso ocorra algum erro no envio do e-mail o método retorna a mensagem de erro,
        // em caso de sucesso no envio retorna a seguinte mensagem: "Email enviado com sucesso!"
        return resposta;
    }


    public FUNCIONARIO FuncionarioLogado()
    {
        System.Web.Security.MembershipUser mu = System.Web.Security.Membership.GetUser();

       
        FUNCIONARIO Funcionario = new FUNCIONARIO();

        var dados = from F in Banco.FUNCIONARIOs
                    where F.UserId == ((Guid)mu.ProviderUserKey)
                    select F;

        try
        {
            return dados.ToList<FUNCIONARIO>()[0];
        }
        catch
        {
            return null;
        }

    }

    public CLIENTE ClienteLogado()
    {
        System.Web.Security.MembershipUser mu = System.Web.Security.Membership.GetUser();


        CLIENTE Funcionario = new CLIENTE();

        var dados = from C in Banco.CLIENTEs
                    where C.UserId == ((Guid)mu.ProviderUserKey)
                    select C;

        try
        {
            return dados.ToList<CLIENTE>()[0];
        }
        catch
        {
            return null;
        }

    }



}
